
package web.reclamos.dao.sql;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import web.reclamos.beans.Tipo;
import web.reclamos.dao.TipoDao;
import web.reclamos.dao.exception.ExceptionReclamos;

public class TipoDaoSql implements TipoDao{

    public void crear(Tipo entidad) throws ExceptionReclamos {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void modificar(Tipo entidad) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void eliminar(int id) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public Tipo traerPorId(int id) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public List<Tipo> traerTodo() {
        Connection cn = null;
        PreparedStatement pstm = null;
        ResultSet rs = null;
        List<Tipo> tipos = new ArrayList<Tipo>();
        try{
            cn = ConexionDB.getInstance().getConnection();
            String sql = "select * from tipo";
            pstm = cn.prepareStatement(sql);
            rs = pstm.executeQuery();
            while(rs.next()){
                tipos.add(new Tipo(rs.getInt("id_tipo"),
                                   rs.getString("descripcion_tipo")
                             ));
            }
        }catch(SQLException ex){
            System.out.println(ex);
        }catch(Exception ex){
              System.out.println(ex);
        }finally{
            ConexionDB.getInstance().close(rs);
            ConexionDB.getInstance().close(pstm);
            ConexionDB.getInstance().close(cn);
        }
        return tipos;
    }

    public List<Tipo> traerPorNombre(String nombre) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

}
